package com.wego.pdcms.module.main.dal.dataobject.patient;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import com.wego.pdcms.framework.mybatis.core.dataobject.BaseDO;

/**
 * 患者信息 DO
 *
 * @author gjp
 */
@TableName("main_patient_t")
@KeySequence("main_patient_t_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode()
@ToString()
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PatientDO {

    /**
     * 患者登记表
     */
    @TableId
    private Integer patientId;
    /**
     * 患者hisId
     */
    private String patientHisId;
    /**
     * 门诊号
     */
    private String outpatientServiceNumber;
    /**
     * 腹透号
     */
    private String pdNumber;
    /**
     * 姓名
     */
    private String patientNm;
    /**
     * 拼音码
     */
    private String patientPy;
    /**
     * 性别 0女 1男 
     *
     * 枚举 {@link TODO patient_sex 对应的类}
     */
    private String patientSex;
    /**
     * 年龄
     */
    private String patientAge;
    /**
     * 民族
     *
     * 枚举 {@link TODO patient_nation 对应的类}
     */
    private String patientNation;
    /**
     * 婚姻状况0001未婚 0002 已婚 0003 丧偶 0004 离婚 0005 其他
     */
    private String maritalStatus;
    /**
     * 身份证号
     */
    private String patientCardId;
    /**
     * 收费模式
     */
    private String chargeMode;
    /**
     * 患者类型
     */
    private String chargeType;
    /**
     * 出生日期
     */
    private String patientBirthday;
    /**
     * 身高
     */
    private String patientHeight;
    /**
     * 净体重
     */
    private String dryWeight;
    /**
     * 入院时间
     */
    private String inHospitalDate;
    /**
     * 出院时间
     */
    private String dischargeDate;
    /**
     * 死亡时间
     */
    private String deathDate;
    /**
     * 联系电话
     */
    private String patientTel;
    /**
     * 联系电话2
     */
    private String patientTel2;
    /**
     * 邮政编码
     */
    private String postCode;
    /**
     * 住院号
     */
    private String hospitalizationNumber;
    /**
     * 通讯地址
     */
    private String patientAddress;
    /**
     * 工作性质 onW退休  offW在职
     */
    private String patientWorkType;
    /**
     * 工作单位
     */
    private String patientUnit;
    /**
     * 紧急联系人
     */
    private String emergencyContact;
    /**
     * 联系人关系
     */
    private String patientRelation;
    /**
     * 医保卡号
     */
    private String yiBaoCard;
    /**
     * 删除标志位 0删除 1 未删除
     */
    @TableLogic
    private String isActive;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 创建时间
     */
    private String createDt;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 更新时间
     */
    private String updateDt;
    /**
     * 患者类型1  1感染 / 0未感染
     */
    private String patientTypeOne;
    /**
     * 患者类型2  1住院/2门诊
     */
    private String patientTypeTwo;
    /**
     * 诊断
     *
     * 枚举 {@link TODO diagnose_info 对应的类}
     */
    private String diagnose;
    /**
     * 原发病类型
     */
    private String protopathy;
    /**
     * 病理诊断
     */
    private String pathologicDiagnose;
    /**
     * 合并症
     */
    private String complication;
    /**
     * 置管类型
     */
    private String zhiguanType;
    /**
     * 置管时间
     */
    private String zhiguanDate;
    /**
     * 既往病史
     */
    private String pastMedicalHistory;
    /**
     * hd几年
     */
    private String hdYears;
    /**
     * 肾移植几年
     */
    private String rtYears;
    /**
     * 乙肝
     */
    private String isHepatitisB;
    /**
     * 丙肝
     */
    private String isHepatitisC;
    /**
     * 是否糖尿病
     */
    private String isDm;
    /**
     * 尿量
     */
    private String urinaryVolume;
    /**
     * hiv
     */
    private String isHiv;
    /**
     * 梅毒
     */
    private String isSyphilis;
    /**
     * 病人状态（1入档，2死亡，3结案）
     */
    private String patientStatus;
    /**
     * 腹透开始时间
     */
    private String firstTreatmentDate;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 离开腹透原因
     */
    private String leavePdReason;
    /**
     * 离开腹透日期
     */
    private String leavePdDate;
    /**
     * 腹膜炎重点病人
     */
    private String isPeritonitisPatient;
    /**
     * 外口感染患者
     */
    private String isExternalInfectionPatient;
    /**
     * 容量管控重点病人
     */
    private String isCapcontrolPatient;
    /**
     * 首次腹透时已透次数
     */
    private Integer firstPdTimes;
    /**
     * 腹透次数
     */
    private Integer pdTimes;
    /**
     * 复查周期
     */
    private String revisitCycle;
    /**
     * 首次复诊日期
     */
    private String revisitDate;
    /**
     * 复诊计划id
     */
    private String revisitRecordsId;
    /**
     * 随访周期
     */
    private String followupCycle;
    /**
     * 下次随访日期
     */
    private String nextFollowupDate;
    /**
     * 标记患者
     */
    private String patientFlag;
    /**
     * 死亡原因
     */
    private String deathReason;
    /**
     * 初次诊断（上报平台的临床诊断）
     */
    private String linchuangZhenduan;
    /**
     * 转为血透原因
     */
    private String hemodialysisReason;
    /**
     * 教育程度
     */
    private String educationLevel;
    /**
     * 职业
     */
    private String occupation;
    /**
     * 原发病诊断日期
     */
    private String protopathyDate;
    /**
     * 临床诊断日期
     */
    private String clinicalDiagnosisDate;
    /**
     * 是否导出过退出记录：0为未导出，1为已导出
     */
    private String isInOutExportStatus;
    /**
     * 门诊为1，住院为2
     */
    private String patientProperty;
    /**
     * app注册码
     */
    private String registrationCode;
    /**
     * 二维码
     */
    @TableField("qrCodeImg")
    private byte[] qrCodeImg;
    /**
     * 责任护士
     */
    private String chargeNurse;
    /**
     * 责任医生
     */
    private String chargeDoctor;
    /**
     * 住院次数
     */
    private String hospitalTimes;
    /**
     * 住院科室
     */
    private String hospitalDepart;
    /**
     * 住院床位号
     */
    private String hospitalBed;
    /**
     * 责任医生所属科室
     */
    private String chargeDoctorDepart;
    /**
     * 科室编码
     */
    private String hospitalDepartNumber;
    /**
     * 病历类型日期
     */
    private LocalDate caseTypeDate;
    /**
     * 病理类型结果
     */
    private String caseTypeResult;
    /**
     * 是否注册
     */
    private String isRegister;
    /**
     * 下次置管日期
     */
    private String nextVasDate;
    /**
     * 下次透析充分性日期
     */
    private String nextKtvDate;
    /**
     * 下次腹膜平衡试验日期
     */
    private String nextPetDate;
    /**
     * 录入时间
     */
    private String inDate;
    /**
     * 失访原因
     */
    private String lostFollowReason;

}
